package com.graduation.util;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class PageUtil {

    private Integer pageNo;
    private Integer pageSize;
    private Integer total;
    private List<?> records;

    public static PageUtil doPage(Integer pageNo, Integer pageSize, List<?> list){
        PageUtil pageUtil = new PageUtil();
        pageUtil.setPageNo(pageNo);
        pageUtil.setPageSize(pageSize);
        pageUtil.setTotal(list.size());
        pageNo = pageNo -1;
        if (pageNo*pageSize>pageUtil.getTotal()){
            pageUtil.setRecords(list);
            return pageUtil;
        }else if (((pageNo + 1) * pageSize) >pageUtil.getTotal()){
            pageUtil.setRecords(list.subList(pageNo*pageSize,pageUtil.getTotal()));
            return pageUtil;
        }
        pageUtil.setRecords(list.subList(pageNo * pageSize, (pageNo + 1) * pageSize));
        return pageUtil;
    }
}
